package bigmath;


import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;

public class ExDemo {

    // JVM
    public static void main(String[] args) {
        /*
        try {
            readTxt("D:\\a.md");
        } catch (FileNotFoundException e) {
            // 实际过程中，捕获到异常，需要记录日志，跳转错误页面...
            // 打印错误的栈轨迹
            // e.printStackTrace();
            // 获取异常信息
            // System.out.println(e.getMessage());
            System.err.println(e.getMessage());
        } catch (FileTypeException e) {
            e.printStackTrace();
        }
         */

        /*
        try {
            readTxt("D:\\a.md");
        } catch (IOException e) {
            e.printStackTrace();
        }
         */
        try {
            readTxt("D:\\a.txt");
        } catch (FileNotFoundException | FileTypeException e) {
            e.printStackTrace();
        }
    }

    public static String readTxt(String path) throws FileNotFoundException, FileTypeException {

        // 判断路径是否存在
        if (!new File(path).exists())
            throw new FileNotFoundException("文件或者路径找不到！！！");

        // 判断文件类型
        if (!path.endsWith(".txt"))
            throw new FileTypeException("文件类型不对！！！");

        return null;

    }

}

// 自定义异常
class FileTypeException extends IOException {


    public FileTypeException() {
    }

    public FileTypeException(String a) {
        super(a);
    }
}
